home *** CD-ROM | disk | FTP | other *** search
/ KeyGen Studio 2002 / KeyGen_Studio_2002.iso / Tutorials / Code Inside / Tut41.txt < prev    next >
Encoding:
Text File  |  2001-09-21  |  4.6 KB  |  152 lines

  1. *********************************************************************************************************************
  2.                     Win32Asm CrackMe 5
  3. *********************************************************************************************************************
  4.  
  5. Author:        Acid_Cool_178
  6. Protection:    Serial
  7. URL:        http://members.nbci.com/_XMCM/norskehf/crackmes/asm/ac_crackme_05.zip
  8. Tools:        SoftICE v4.05
  9.         W32Dasm v8.93
  10.         Hex-Editor
  11.  
  12.  
  13. --->    Intro...
  14.  
  15. Welcome to my next Tutorial !!!
  16. This time a simple Serial :)
  17.  
  18.  
  19. --->    Let's Begin...
  20.  
  21. Open the CrackMe and you'll see a big Window with just one EditBox and one Button (Check) and
  22. one FileItem (Acid Crackme).
  23. Well, this looks obvious, we just need to enter a Serial in the EditBox and press "Check" to
  24. see if it's valid ;)
  25. So, enter something in the EditBox i entered:
  26.  
  27. Serial:    1234567890
  28.  
  29. Now go into SoftICE (CTRL+D) and type "bpx GetWindowTextA" followed by "enter" and leave
  30. SoftICE (CTRL+D) then press the Button "Check" and SoftICE should popup.
  31. Press 1 time F12 and you'll see this:
  32.  
  33. ---------------------------------------------------------------------------------------------------------------------
  34.  
  35. :00401293 68E8304000              push 004030E8            <--- Our Fake Serial
  36.  
  37. * Possible StringData Ref from Data Obj ->"Hellforge"
  38.                                   |
  39. :00401298 68C0304000              push 004030C0            <--- Hmmm... :)
  40.  
  41. * Reference To: KERNEL32.lstrcmpA, Ord:02D6h
  42.                                   |
  43. :0040129D E86A010000              Call 0040140C            <--- Compare those 2 Strings
  44. :004012A2 0BC0                    or eax, eax            <--- Check if EAX is 0
  45. :004012A4 7512                    jne 004012B8            <--- If not equal then jump to Bad Guy, else continue
  46.  
  47. * Possible StringData Ref from Data Obj ->"You have cracked me"
  48.                                   |
  49. :004012A6 6897304000              push 00403097
  50. :004012AB FF35E4304000            push dword ptr [004030E4]
  51.  
  52. * Reference To: USER32.SetWindowTextA, Ord:0259h
  53.                                   |
  54. :004012B1 E82C010000              Call 004013E2
  55.  
  56. ---------------------------------------------------------------------------------------------------------------------
  57.  
  58. Ok, this looks simple :)
  59. When your on Offset 00401293 type "d 004030E8" and you'll see your Fake Serial.
  60. When your on Offset 00401298 type "d 004030C0" and you'll see the String "Hellforge".
  61. Then those 2 Strings get Compared, if EAX is 0 we continue and get the Good Guy message
  62. else it jumps to the Bad Guy Message.
  63. Ok, simple so our Serial should be "Hellforge" :)
  64. Try it and you'll see it worked.
  65. Now we're going to Patch the Check :)
  66. So disassemble the CrackMe in W32Dasm and go to Offset "00401293".
  67. Now we can Patch a some things:
  68.  
  69. 1.    Patch the Offset at Offset 00401293 to point to the String Hellforge (so it checks itself
  70.     and that's always correct ;)
  71. 2.    Patch the "or eax, eax" into "cmp eax, eax" (That's also always correct :)
  72. 3.    Patch the "jne 004012B8" and NOP it or something or let it jump to the next Instruction.
  73.  
  74. We're going to do them all ;)
  75.  
  76.  
  77. --->    Method 1
  78.  
  79. Double click on Offset 00401293 and look at the bottom of W32Dasm, it says:
  80.  
  81. @Offset 00000693h
  82.  
  83. So open the CrackMe in your Hex-Editor and go to Offset "00000693".
  84. Then change this:
  85.  
  86. 68E8304000    (Our Fake Serial location)
  87.  
  88. into:
  89.  
  90. 68C0304000    (Points to the String "Hellforge")
  91.  
  92. Save the File (Don't forget to close W32Dasm) and run it and check the button, it works :)
  93.  
  94.  
  95. --->    Method 2
  96.  
  97. Disassemble the CrackMe again and double click on Offset "004012A2" then you'll see this at the bottom:
  98.  
  99. @Offset 000006A2h
  100.  
  101. Open the CrackMe in your Hex-Editor and go to Offset "000006A2".
  102. Then change this:
  103.  
  104. 0BC0        (Or)
  105.  
  106. into:
  107.  
  108. 3BC0        (Compare)
  109.  
  110. Save the File (Don't forget to close W32Dasm) and run it and check the button, it works :)
  111.  
  112.  
  113. --->    Method 3
  114.  
  115. Disassemble the CrackMe again and double click on Offset "004012A4" then you'll see this at the bottom:
  116.  
  117. @Offset 000006A4h
  118.  
  119. Open the CrackMe in your Hex-Editor and go to Offset "000006A4".
  120. Then change this:
  121.  
  122. 7512        (jne)
  123.  
  124. into:
  125.  
  126. 9090        (NOP, NOP)
  127.  
  128. or:
  129.  
  130. 7500        (Jump to next Instruction, because it jumps to nowhere :)
  131.  
  132. Save the File (Don't forget to close W32Dasm) and run it and check the button, it works :)
  133. That's All.
  134.  
  135.  
  136. --->    Greetings...
  137.  
  138. To be honest i'm getting a bit sick of these greetings everytime ;P
  139. So i'll just say:
  140.  
  141. Greetings to everyone i know, and to everyone who knows me, and You... ;P
  142.  
  143.  
  144.             Don't trust the Outside, trust the InSiDe !!!
  145.  
  146.                       Cya...
  147.  
  148.                     CoDe_InSiDe
  149.  
  150.  
  151. Email:    code.inside@home.nl
  152. Homepage: http://codeinside.cjb.net